#ifndef LIT__INITIALISER__HH__
#define LIT__INITIALISER__HH__

#include <LitExceptions.h>
#include <LitPrerequisites.h>
#include <LitNamed.hpp>

namespace Lit
{
	class LIT_API Initialiser : public Named<false>
	{
	protected:
		bool mInitialised;
	public:
		Initialiser( const String &name ) ;
		Initialiser( const Initialiser &rk ) ;
		~Initialiser( );
		Initialiser& operator=( const Initialiser &rk ) ;

		void setInitialised( bool init );
		bool isInitialised( ) const;
			
		void throwNotInit( );
		void throwAlreadyInit( );
	};
};

#endif